_ssss_eeee_mmmm_gggg_eeee_tttt returns the semaphore identifier associated with _k_e_y.
A semaphore identifier and associated data structure and set containing
_n_s_e_m_s semaphores [see _iiii_nnnn_tttt_rrrr_oooo(2)] are created for _k_e_y if one of the
following is true:
_k_e_y is equal to _IIII_PPPP_CCCC______PPPP_RRRR_IIII_VVVV_AAAA_TTTT_EEEE.
_k_e_y does not already have a semaphore identifier associated with it,
and (_s_e_m_f_l_g_&&&&_IIII_PPPP_CCCC______CCCC_RRRR_EEEE_AAAA_TTTT) is true.
On creation, the data structure associated with the new semaphore
identifier is initialized as follows:
_ssss_eeee_mmmm______pppp_eeee_rrrr_mmmm_...._cccc_uuuu_iiii_dddd, _ssss_eeee_mmmm______pppp_eeee_rrrr_mmmm_...._uuuu_iiii_dddd, _ssss_eeee_mmmm______pppp_eeee_rrrr_mmmm_...._cccc_gggg_iiii_dddd, and _ssss_eeee_mmmm______pppp_eeee_rrrr_mmmm_...._gggg_iiii_dddd are set
equal to the effective user ID and effective group ID, respectively,
of the calling process.
The access permission bits of _ssss_eeee_mmmm______pppp_eeee_rrrr_mmmm_...._mmmm_oooo_dddd_eeee are set equal to the
access permission bits of _s_e_m_f_l_g.
_ssss_eeee_mmmm______nnnn_ssss_eeee_mmmm_ssss is set equal to the value of _n_s_e_m_s.
_ssss_eeee_mmmm______oooo_tttt_iiii_mmmm_eeee is set equal to 0 and _ssss_eeee_mmmm______cccc_tttt_iiii_mmmm_eeee is set equal to the
current time.
_ssss_eeee_mmmm_gggg_eeee_tttt fails if one or more of the following are true:
_EEEE_IIII_NNNN_VVVV_AAAA_LLLL _n_s_e_m_s is either less than or equal to zero or greater than
the system-imposed limit.
_EEEE_AAAA_CCCC_CCCC_EEEE_SSSS A semaphore identifier exists for _k_e_y, but operation
permission [see _iiii_nnnn_tttt_rrrr_oooo(2)] as specified by the low-order 9
bits of _s_e_m_f_l_g would not be granted.
_EEEE_IIII_NNNN_VVVV_AAAA_LLLL A semaphore identifier exists for _k_e_y, but the number of
semaphores in the set associated with it is less than